#! /bin/bash

# Apktool Script Linux
# Author: Tommy Nguyen [tommytomatoe]
# Version: 1.1.0
# Date: February 13, 2012
# Contact: tommytomatoe@gmail.com
# Last edited: May 25, 2013 by hockeyfamily737

# Setting Loop Variable
clear
APPLE=$1

# Functions

#enterKey
enterKey()
{	echo "### Press [enter] to continue, any other key to quit";
	read -s -n 1 key
	if [[ $key = "" ]]; then 
  		echo 
	else
  		echo
  		echo "Installation aborted";
		enter
		apktool_s
	fi
}

#enter
enter()
{	echo
	echo "Please press [enter] to continue";
	read -s -n 1 key
	if [[ $key = "" ]]; then 
  		echo
		clear
	fi
}

#enter
enterA()
{	echo
	echo "Please press [enter] when ready";
	read -s -n 1 key
	if [[ $key = "" ]]; then 
  		echo
	fi
}

#load
load_dot ()
{	echo -n "."
	sleep .1
	echo -n "."
	sleep .1
	echo -n "."
	sleep .1
	echo -n "."
	sleep .1
	echo -n "."
	sleep .1
	echo "."
}

#quit
quit()
{	echo
	echo "Thank you for choosing Android Utility"
	echo "brought to you by tommytomatoe :-)"
	echo
	echo "Please Don't Drink and Drive"
	echo
	exit
}

#select
selection ()
{	echo
	echo "You've selcted [$COM]"
	echo
}

#install framework
a_if ()
{	COM="Install framework"
	f=$HOME/android-utility/working-folder/framework-here
	selection
	clear
	echo
	echo "Please place framework-res.apk and/or other framework in:"
	echo 
	echo $f 
	enterA
	echo "Android Utility is preparing to install these frameworks:"
	echo
	ls -t -1 $f
	sleep .5
	echo
	cd $f
	a=framework-res.apk
	if [[ -f $a ]] ; then
		echo -n "Installing $a."
		load_dot
		apktool if $a
		echo
	else
		echo ..
	fi
	b=com.htc.resources.apk
	if [[ -f $b ]] ; then
		echo -n "Installing $b."
		load_dot
		apktool if $b
	else
		echo ..
	fi
	c=twframework-res.apk
	if [[ -f $c ]] ; then
		echo -n "Installing $c."
		load_dot
		apktool if $c
	else
		echo ..
	fi
	d=SemcGenericUxpRes.apk
	if [[ -f $d ]] ; then
		echo -n "Installing $d."
		load_dot
		apktool if $d
	else
		echo ..
	fi
	enter
}

#apktool install
ins_apktool ()
{	COM="Install new apktool"
	c=$HOME/android-utility/resources/clean
	u=/usr/local/bin
	selection
	enterKey
	clear
	echo "Your current verion of apktool is listed as:"
	echo
	echo "### `apktool | sed -n 1p`"
	echo
	echo "Which version of apktool would you like to install?"
	echo
	echo "  1.  apktool 1.3.1"
	echo "  2.  apktool 1.3.2"
	echo "  3.  apktool 1.4.1"
	echo "  4.  apktool 1.4.2 - compiled from source [8.22.2011]"
	echo "  5.  apktool 1.4.3"
    echo "  6.  apktool 1.5.2 - Added by hockeyfamily737 [5.25.2013]"
	echo
	echo "  7.  apktool 1.3.2 experimental - fixed "-v4" and xml"
	echo
	echo "  x.  Keep current version"
	echo
	printf "Please make your selection: "
	read sel
	case $sel in
	 1) echo; sudo cp -v $c/apktool1.3.1/apktool.jar $u/; atool_v;;
	 2) echo; sudo cp -v $c/apktool1.3.2/apktool.jar $u/; atool_v;;
	 3) echo; sudo cp -v $c/apktool1.4.1/apktool.jar $u/; atool_v;;
	 4) echo; sudo cp -v $c/apktool1.4.2/apktool.jar $u/; atool_v;;
	 5) echo; sudo cp -v $c/apktool1.4.3/apktool.jar $u/; atool_v;;
     6) echo; sudo cp -v $c/apktool1.5.2/apktool.jar $u/; atool_v;;
	 7) echo; sudo cp -v $c/apktool1.3.2mod/apktool.jar $u/; atool_v;;
	 x) echo; echo "Current version has not been changed";;
	 *) echo; echo "$sel is not a valid option"; echo;;	
	esac
	enter
	}

#just to remind apktool version
atool_v ()
{	echo
	echo "Your version of apktool is now:"
	echo 
	echo "### `apktool | sed -n 1p`"
	}

ins_aapt ()
{	COM="Install new aapt"
	c=$HOME/android-utility/resources/clean/aapt
	u=/usr/local/bin
	selection
	enterKey
	clear
	echo "Which version of aapt would you like to install?"
	echo
	echo "  1.  aapt sdk  8 - Froyo Development"
	echo "  2.  aapt sdk  9 - Gingerbread Development"
	echo "  3.  aapt sdk 11 - Honeycomb Development"
    echo "  4.  aapt sdk 17 - Jelly Bean Development"
	echo
	echo "  x.  Keep current version"
	echo
	echo
	printf "Please make your selection: "
	read sel
	case $sel in
	 1) echo; sudo cp -v $c/aapt-8 $u/aapt; aapt_vv;;
	 2) echo; sudo cp -v $c/aapt-9 $u/aapt; aapt_vv;;
	 3) echo; sudo cp -v $c/aapt-11 $u/aapt; aapt_vv;;
     4) echo; sudo cp -v $c/aapt-17 $u/aapt; aapt_vv;;
	 x) echo; echo "Current version has not been changed";;
	 *) echo; echo "$sel is not a valid option"; echo; echo "Current version has not been changed";;	
	esac
	enter
	}

#aapt updated
aapt_vv ()
{	echo
	echo "Your version of aapt has been updated"
}


#apktool 
apktool_s ()
{	echo "Welcome to Android Application Re-Engineering Manager"
	echo
	echo "|----------------------------------------------------------------|"
	echo "|### `apktool | sed -n 1p` |"
	echo "|----------------------------------------------------------------|"
	echo
	echo "|  Apktool Utility                                    |"
	echo "|-----------------------------------------------------|"
	echo "|  1.  Install framework first (ie. framework-res.apk)|"
	echo "|  3.  Decompile Apk - single or multi apks           |"
	echo "|  5.  Recompile Apk - single or multi apks           |"
	echo "|-----------------------------------------------------|"
	echo
	echo "|  Optional Flavors                                   |"
	echo "|-----------------------------------------------------|"
	echo "|  a.  Use different version of apktool               |"
	echo "|  b.  Use different version of aapt                  |"
	echo "|  c.  Go to Android Utility                          |"
	echo "|  d.  Go Back to d3rp Menu                           |"
	echo "|  q.  Quit                                           |"
	echo "|-----------------------------------------------------|"
	echo
	echo "|  OUTDATED COMMANDS - use without support            |"
	echo "|-----------------------------------------------------|"
	echo "|  2. Decompile Single Apk   4. Recompile Single Apk  |"
	echo
	echo
	printf %s "  Please Select Feature: "
	read num
	case $num in
	1) a_if;;
	2) apk_dec;;
	3) apk_dec -m;;
	4) apk_build;;
	5) apk_build -m;;
	a) ins_apktool;;
	b) ins_aapt;;
    d) clear; d3rp-kitchen;;
 	q) clear; exit; exit;;
 	*) echo; echo "$num is not a valid option"; enter;
	esac
}

while [ "$APPLE" = "" ]
do
	apktool_s
done
